import numpy as np
import os


def gen_golden_data_tanh():
    # 生成随机输入数据（范围调整为-3到3，避免tanh饱和区）
    input_x = np.random.uniform(-3, 3, [8, 2048]).astype(np.float16)
    
    # 计算双曲正切（先转float32提高计算精度，再转回float16）
    golden = np.tanh(input_x.astype(np.float32)).astype(np.float16)

    tiling = np.array([16384, 8], dtype=np.uint32)
    tiling.tofile("./input/input_tiling.bin")
    
    # 保存输入输出数据
    input_x.tofile("./input/input_x.bin")
    golden.tofile("./output/golden.bin")


if __name__ == "__main__":
    gen_golden_data_tanh()